Home/ Tutorials / Arduino/ How to interface Arduino with NFD-5641AX four digit seven segment display
4 digit 7 segment displays is a common display used for many embedded applications. The main aim here is to learn how to interface the display with Arduino UNO and to display the characters a, b, c, d, e, f, g.
4 digit seven segment displays is a compact, self-contained cathode module which contains four seven segment LED numeric displays. Here, we are using NFD-5641AS display. The display consists of 12 pins. Each segment in the display module is multiplexed. Multiplexed means it shares the same anode connection points and each of the four digits of the module is having a common cathode connection point. This helps each digit to turn ON or OFF in an independent manner. By varying a pot, corresponding values are displayed on a 4 digit seven segment display. Since microcontroller has 10 bit ADC, potentiometer values vary from 0 to 1023.
DISPLAY PINS |
ARDUINO PIN NO |
a |
D2 |
b |
D3 |
c |
D4 |
d |
D5 |
e |
D6 |
f |
D7 |
g |
D8 |
OC1 |
9 |
OC2 |
10 |
OC3 |
11 |
OC4 |
12 |
The program displays the characters a, b, c, d, e, f, g.
const int a=2; const int b=3; const int c=4; const int d=5; const int e=6; const int f=7; const int g=8; const int d1=9; const int d2=10; const int d3=11; const int d4=12; // DISPLAY CONNECTION TO ARDUINO PINS int length=0; void setup() { Serial.begin(9600); pinMode(a,OUTPUT); // SET AS OUTPUT pinMode(b,OUTPUT); pinMode(c,OUTPUT); pinMode(d,OUTPUT); pinMode(e,OUTPUT); pinMode(f,OUTPUT); pinMode(g,OUTPUT); pinMode(d1,OUTPUT); pinMode(d2,OUTPUT); pinMode(d3,OUTPUT); pinMode(d4,OUTPUT); digitalWrite(a,LOW); digitalWrite(b,LOW); digitalWrite(c,LOW); digitalWrite(d,LOW); digitalWrite(e,LOW); digitalWrite(f,LOW); digitalWrite(g,LOW); digitalWrite(d1,LOW); } void loop() { // int value= analogRead(A0); // DISPLAY CHARACTERS digitalWrite(d1,LOW); digitalWrite(d2,HIGH); digitalWrite(d3,HIGH); digitalWrite(d4,HIGH); digitalWrite(a,HIGH); digitalWrite(b,HIGH); digitalWrite(c,HIGH); digitalWrite(d,HIGH); digitalWrite(e,HIGH); digitalWrite(f,HIGH); digitalWrite(g,LOW); delay(1); digitalWrite(d1,HIGH); digitalWrite(d2,LOW); digitalWrite(d3,HIGH); digitalWrite(d4,HIGH); digitalWrite(a,LOW); digitalWrite(b,HIGH); digitalWrite(c,HIGH); digitalWrite(d,LOW); digitalWrite(e,LOW); digitalWrite(f,LOW); digitalWrite(g,LOW); delay(1); digitalWrite(d1,HIGH); digitalWrite(d2,HIGH); digitalWrite(d3,LOW); digitalWrite(d4,HIGH); digitalWrite(a,HIGH); digitalWrite(b,HIGH); digitalWrite(c,LOW); digitalWrite(d,HIGH); digitalWrite(e,HIGH); digitalWrite(f,LOW); digitalWrite(g,HIGH); delay(50); digitalWrite(a,HIGH); digitalWrite(b,HIGH); digitalWrite(c,HIGH); digitalWrite(d,HIGH); digitalWrite(e,LOW); digitalWrite(f,LOW); digitalWrite(g,HIGH); delay(50); digitalWrite(a,LOW); digitalWrite(b,HIGH); digitalWrite(c,HIGH); digitalWrite(d,LOW); digitalWrite(e,LOW); digitalWrite(f,HIGH); digitalWrite(g,HIGH); delay(50); digitalWrite(a,HIGH); digitalWrite(b,LOW); digitalWrite(c,HIGH); digitalWrite(d,HIGH); digitalWrite(e,LOW); digitalWrite(f,HIGH); digitalWrite(g,HIGH); delay(50); digitalWrite(a,HIGH); digitalWrite(b,LOW); digitalWrite(c,HIGH); digitalWrite(d,HIGH); digitalWrite(e,HIGH); digitalWrite(f,HIGH); digitalWrite(g,HIGH); delay(50); digitalWrite(a,HIGH); digitalWrite(b,HIGH); digitalWrite(c,HIGH); digitalWrite(d,LOW); digitalWrite(e,LOW); digitalWrite(f,LOW); digitalWrite(g,LOW); delay(50); digitalWrite(a,HIGH); digitalWrite(b,HIGH); digitalWrite(c,HIGH); digitalWrite(d,HIGH); digitalWrite(e,HIGH); digitalWrite(f,HIGH); digitalWrite(g,HIGH); delay(50); digitalWrite(a,HIGH); digitalWrite(b,HIGH); digitalWrite(c,HIGH); digitalWrite(d,HIGH); digitalWrite(e,LOW); digitalWrite(f,HIGH); digitalWrite(g,HIGH); delay(50); }